247x
004007
2023-09-26

Parallelizzazione

Il software di parallelizzazione nel metodo degli elementi finiti (FEM) si riferisce al processo di divisione e distribuzione di compiti di calcolo tra più processori o core al fine di accelerare l'analisi e la simulazione di problemi ingegneristici complessi. Il calcolo parallelo consente al software di gestire simulazioni più grandi e complesse sfruttando la potenza delle moderne CPU multi-core e persino dei cluster di calcolo distribuito.

Ecco alcuni aspetti chiave della parallelizzazione nel software FEM:

Decomposizione del dominio : Un approccio comune alla parallelizzazione prevede la divisione del dominio di simulazione in sottodomini più piccoli. Ogni sottodominio viene quindi assegnato a un processore o core diverso e i calcoli vengono eseguiti contemporaneamente su queste parti separate. Una volta completati i calcoli locali, i risultati vengono combinati per ottenere la soluzione complessiva.

Questa tecnologia è utilizzata in RFEM 6 e RSTAB 9 per il calcolo parallelo di casi di carico e combinazioni di carico. Viene avviata un'istanza del risolutore per ogni core, che quindi calcola i casi di carico o le combinazioni di carico uno dopo l'altro.

Multithreading e Multiprocessing : Il software FEM può utilizzare tecniche di multithreading e multielaborazione per parallelizzare i calcoli. Il multithreading comporta la divisione di un singolo programma in thread più piccoli che possono essere eseguiti contemporaneamente. La multielaborazione comporta l'esecuzione simultanea di più processi o attività indipendenti.

Entrambe le tecniche sono utilizzate in RFEM 6.

Vengono avviati diversi processi di risoluzione indipendenti per il calcolo parallelo di casi di carico e combinazioni di carico. Questa è la tecnica del multiprocessing.

Se si utilizza il risolutore diretto per il calcolo individuale di un caso di carico o di una combinazione di carico, il carico di lavoro viene suddiviso in più thread per risolvere il sistema di equazioni.

Scalabilità : La scalabilità si riferisce al modo in cui il software FEM può gestire un numero crescente di processori o core. Un software FEM parallelo ben progettato dovrebbe mostrare una buona scalabilità, il che significa che con l'aggiunta di più processori, il miglioramento delle prestazioni è significativo e il tempo di simulazione diminuisce.

Librerie parallele e API : Molti pacchetti software FEM sfruttano le librerie di programmazione parallela e le API ( Application Programming Interfaces ) per implementare la parallelizzazione in modo efficace. Gli esempi includono OpenMP, CUDA (per la parallelizzazione della GPU) e altri.

OpenMP è utilizzato in RFEM 6 per l'implementazione del multithreading.

CUDA non è utilizzato in RFEM 6. Il calcolo non può quindi essere eseguito su schede grafiche o acceleratori di calcolo simili.

Parallelizzazione del risolutore : Nelle simulazioni FEM, la soluzione di sistemi lineari di equazioni è un collo di bottiglia comune. I risolutori avanzati possono essere parallelizzati per migliorare la velocità della soluzione.

Pre-elaborazione e post-elaborazione : Mentre gran parte dell'attenzione si concentra sulla parallelizzazione della fase del risolutore, la parallelizzazione può essere applicata anche ad altri aspetti dell'analisi FEM, comprese le attività di pre-elaborazione (generazione di mesh, impostazione del modello) e di post-elaborazione (visualizzazione, analisi dei dati).

Sia nella pre-elaborazione che nella post-elaborazione, in RFEM 6 e RSTAB 9 viene utilizzata la parallelizzazione tramite multithreading.

Un'efficace parallelizzazione nel software FEM può ridurre significativamente i tempi di simulazione, consentendo a ingegneri e ricercatori di analizzare in modo efficiente problemi più grandi e complessi.

Capitolo principale